//package com.zhl.media.app.utils;
//
//import android.app.Activity;
//import android.content.Context;
//import android.content.Intent;
//import android.net.Uri;
//import android.os.Build;
//import android.provider.MediaStore;
//import android.support.v4.content.FileProvider;
//import android.text.TextUtils;
//
//import java.io.File;
//import java.util.UUID;
//
//import io.reactivex.Observable;
//import io.reactivex.android.schedulers.AndroidSchedulers;
//import io.reactivex.schedulers.Schedulers;
//
//public class CameraUtils {
//    /**
//     * 通过手机照相获取图片
//     *
//     * @param activity
//     * @return 照相后图片的路径
//     */
//    public void takePicture(final Activity activity, String name, final int requestCode) {
//        Observable.just(name)
//                .map(new Func1<String, File>() {
//                    @Override
//                    public File call(String s) {
//                        FileUtils.createDirFile(IMAGE_PATH);
//                        String path = IMAGE_PATH + UUID.randomUUID().toString() + ".jpg";
//                        if (!TextUtils.isEmpty(s)) {
//                            path = IMAGE_PATH + s;
//                        }
//                        mTakePicturePath = path;
//                        File file = FileUtils.createNewFile(path);
//                        return file;
//                    }
//                })
//                .compose(activity.<File>bindToLifecycle())
//                .subscribeOn(Schedulers.newThread())
//                .observeOn(AndroidSchedulers.mainThread())
//                .subscribe( -> {
//                    @Override
//                    public void call(File file) {
//                        Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
//                        if (file != null) {
//                            intent.putExtra(MediaStore.EXTRA_OUTPUT, getUriForFile(activity.getContext(),file));
//                        }
//                        activity.startActivityForResult(intent, requestCode);
//                    }
//                });
//    }
//
//    private static Uri getUriForFile(Context context, File file) {
//        if (context == null || file == null) {
//            throw new NullPointerException();
//        }
//        Uri uri;
//        if (Build.VERSION.SDK_INT >= 24) {
//            uri = FileProvider.getUriForFile(context.getApplicationContext(), "com.zhl.media.app.fileprovider", file);
//        } else {
//            uri = Uri.fromFile(file);
//        }
//        return uri;
//    }
//}
